A PL/SQL object with a compile error still gets created, it just gets created INVALID, and most drivers report that as success. Why that surfaces three layers away as a missing-grant error, and the fixed order I now use to trace an agent failure back to its cause.
Building the foundation: the table comments that make natural-language SQL work, the profiles, and the vector index. Includes the policy that catches everyone, since the database needs one of its own and being a tenancy administrator does not cover it, plus why role-based grants silently fail.
Part 1 of a five-part series on building an AI financial analyst inside Oracle Autonomous Database. What Select AI Agent is, why an in-database agent suited this problem better than the managed service, and how the four core objects stack together.